package com.microservice.salmon.db.entities;

import com.salmon.common.tree.ITree;

import java.util.Date;
import java.util.List;
import javax.persistence.*;

@Table(name = "t_shop_category")
public class ShopCategory implements ITree {
    private static final long serialVersionUID = 8409140010246865787L;
    /**
     * 自增ID
     */
    @Id
    private Integer id;

    /**
     * 店铺分类名称
     */
    @Column(name = "cat_name")
    private String catName;

    /**
     * 店铺ID
     */
    @Column(name = "shop_id")
    private Integer shopId;

    /**
     * 店铺父ID
     */
    @Column(name = "parent_id")
    private Integer parentId;

    /**
     * 是否显示 0:隐藏 1:显示
     */
    @Column(name = "is_show")
    private Byte isShow;

    /**
     * 排序号
     */
    @Column(name = "cat_sort")
    private Integer catSort;

    /**
     * 删除标志 1:有效 -1:删除
     */
    @Column(name = "data_flag")
    private Byte dataFlag;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    @Transient
    private List<ITree> children;

    /**
     * 获取自增ID
     *
     * @return id - 自增ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置自增ID
     *
     * @param id 自增ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取店铺分类名称
     *
     * @return cat_name - 店铺分类名称
     */
    public String getCatName() {
        return catName;
    }

    /**
     * 设置店铺分类名称
     *
     * @param catName 店铺分类名称
     */
    public void setCatName(String catName) {
        this.catName = catName;
    }

    /**
     * 获取店铺ID
     *
     * @return shop_id - 店铺ID
     */
    public Integer getShopId() {
        return shopId;
    }

    /**
     * 设置店铺ID
     *
     * @param shopId 店铺ID
     */
    public void setShopId(Integer shopId) {
        this.shopId = shopId;
    }

    /**
     * 获取店铺父ID
     *
     * @return parent_id - 店铺父ID
     */
    public Integer getParentId() {
        return parentId;
    }

    /**
     * 设置店铺父ID
     *
     * @param parentId 店铺父ID
     */
    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    /**
     * 获取是否显示 0:隐藏 1:显示
     *
     * @return is_show - 是否显示 0:隐藏 1:显示
     */
    public Byte getIsShow() {
        return isShow;
    }

    /**
     * 设置是否显示 0:隐藏 1:显示
     *
     * @param isShow 是否显示 0:隐藏 1:显示
     */
    public void setIsShow(Byte isShow) {
        this.isShow = isShow;
    }

    /**
     * 获取排序号
     *
     * @return cat_sort - 排序号
     */
    public Integer getCatSort() {
        return catSort;
    }

    /**
     * 设置排序号
     *
     * @param catSort 排序号
     */
    public void setCatSort(Integer catSort) {
        this.catSort = catSort;
    }

    /**
     * 获取删除标志 1:有效 -1:删除
     *
     * @return data_flag - 删除标志 1:有效 -1:删除
     */
    public Byte getDataFlag() {
        return dataFlag;
    }

    /**
     * 设置删除标志 1:有效 -1:删除
     *
     * @param dataFlag 删除标志 1:有效 -1:删除
     */
    public void setDataFlag(Byte dataFlag) {
        this.dataFlag = dataFlag;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取更新时间
     *
     * @return update_time - 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public List<ITree> getChildren() {
        return children;
    }

    @Override
    public void setChildren(List<ITree> children) {
        this.children = children;
    }
}